<?php
/********************************/
/*		 tagcloud.class.php		*/
/********************************/
/*	 Genere un nuage de tags	*/
/*    	   et l'affiche		 	*/
/********************************/
/*	13/03/2009 : Création		*/
/********************************/

class TagCloud {
	private $table;		// tableau des tags
	private $fontmin;	// taille de police minimum
	private $fontmax;	// taille de police maximum
	
	function __construct($min=8, $max=20) {
		$this->table = Array();
		$this->fontmin = $min;
		$this->fontmax = $max;
	}
	
	function add($e) {
		$elem = strtolower($e);
		if(isset($this->table[$elem]))
			$this->table[(string)$elem]++;
		else
			$this->table[$elem] = 1;
		ksort($this->table);
	}
	
	/* Affiche un nuage de tags pour les utilisateurs (défaut) */
	function __toString() {
		$string = "";
		$max = max($this->table);
		$min = min($this->table);
		$pas = $max-$min;

		$fontsize = $this->fontmax - $this->fontmin;
		$div = $pas / $fontsize;
		if($div == 0) $div = 1;
				
		foreach ($this->table as $name => $nb) {
			$elem_fontsize = $this->fontmin + round ($nb / $div);
			$string .= "<span style=\"font-size:".$elem_fontsize."px;\"><a href=\"".URL_PATH."promotions/tag/".$name."/\" title=\"Voir les utilisateurs tagg&eacute;s ".$name." (".$nb.")\">".$name."</a></span>";
		}
		return $string;
	}
	
	
}


?>